﻿<p><em>IfcTypeProduct</em> defines a type definition of a product without being already inserted into a
project structure (without having a placement), and not being included in the geometric representation context of the
project. It is used to define a product specification, that is, the specific product information that is common to all occurrences
of that product type.</p>

<p>An <em>IfcTypeProduct</em> may have a list of property set attached and an optional set of product representations. Values of these properties and the representation maps are common to all occurrences of that product type. The type-occurrence relationship is realized using the objectified relationship
<em>IfcRelDefinesByType</em>.</p>

<blockquote class="note">
NOTE&nbsp; The product representations are defined as representation maps, which may be assigned by a product instance through the representation item(s) being an <em>IfcShapeRepresentation</em> and having <em>Items</em> of type <em>IfcMappedItem</em>.
</blockquote>

<p>The representations at the occurrence level (represented by subtypes of <em>IfcProduct</em>) can override the specific representations at the type level:</p>
<ul>
 <li>for geometric representations, a Cartesian transformation operator can be applied at the occurrence level.</li>
 <li>for property sets, a property within an occurrence property set, assigned at the product occurrence, overrides the same property assigned to the product type.</li>
</ul>

<p>An <em>IfcTypeProduct</em> may be exchanged without being
already assigned to subtypes of <em>IfcProduct</em>.</p>

<blockquote class="history">
HISTORY&nbsp; New entity in IFC2x.
</blockquote>

<blockquote class="change-ifc2x4">
IFC4 CHANGE&nbsp; The entity <em>IfcTypeProduct</em> shall not be instantiated from IFC4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC.
</blockquote>